package com.itcast.controller;

import com.itcast.pojo.Dept;
import com.itcast.pojo.Result;

//未分层前
//@controller+@responsebody 把响应的java对象或者是集合 封装成json对象或json数组
/*@RestController
public class DeptsControllerDemo {
    //@RequestMapping 声明请求路径 method 限制请求方式
    //@RequestMapping(value ="/depts",method= RequestMethod.POST)
    @GetMapping("/depts")
    public Result list() throws IOException {
        //1.加载dept.txt文件
            //1.1获取类加载器
        ClassLoader classLoader = this.getClass().getClassLoader();
            //1.2加载resource中的文件通过流到内存中
        InputStream stream = classLoader.getResourceAsStream("dept.txt");
        List<String> strings = IOUtils.readLines(stream, "utf-8");
        //2.解析文件内容，封装到list<Depts>中
            //2.1通过流的方式遍历集合，
                    //为什么map方法可以遍历集合????
                    //    在编程中，stream 流的 map 方法用于对流中的每个元素应用一个函数，
                    //    并返回一个新的流，其中包含应用该函数后的结果。
                    //    这使得 map 方法能够遍历集合中的每个元素并对其进行变换。

        List<Dept> deptList = strings.stream().map(string -> {
            //根据，分割字符串
            String[] str = string.split(",");
            //获取id
            int id = Integer.parseInt(str[0]);
            //获取部门名称
            String name = str[1];
            //获取时间
            LocalDateTime updateTime = LocalDateTime.parse(str[2], DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
            return new Dept(id, name, updateTime);
        }).collect(Collectors.toList());
        //3.响应json数据
        return  Result.success(deptList);
    }
 }*/
